/**
 *
 * @type {{init}}
 */
var fileHandler= function () {

    /**
     * 定义错误的校验信息
     *
     * @type {{filepath: {success: boolean, message: string}}}
     */
    var error={
        "filepath":{
            success:false,
            message:"请上传相关的文件"
        },
        "domeImage":{
            success:false,
            message:"请上传实例图片"
        }
    };

    var uploadFileHandler= function () {
        var file= $("#uploadFile");
        file.on("change",function () {
            var filelist= this.files;
            for (var i=0; i<filelist.length; i++){
                var file= filelist[i];
                console.log(file);
                $("#filename").val(file.name);
                var xml= new XMLHttpRequest();
                xml.open("post",base+"/admin/common/uploadOffice");
                var fd= new FormData();
                fd.append("file",file);
                xml.send(fd);
                xml.addEventListener("load",function(e){
                    var result= e.target.responseText;
                    result=JSON.parse(result);
                    var data= result.data;
                    data= JSON.parse(data);
                    var html="<div class='col-sm-12' style='margin-bottom: 15px'>";
                    html+="<img src='"+base+"/resources/admin/img/office/"+data.type+".png'";
                    html+=" width='25' />"+"<span style='margin-left: 5px' class='text-primary'>"
                        +data.filename+"</span></div>";
                    $('#uploadFile').parent().parent().children(".col-sm-12").remove();
                    $("#uploadFile").parent().before(html);
                    $("#filepath").val(data.filepath);
                    $("#type").val(data.type);
                },false)
            }
        })
    };

    /**
     * @name 校验表单的函数，
     * 如果校验成功后，就可以直接提交
     *
     */
    var validateHandler=function () {
        $('form').validate({
            rules:{
                name:{
                    required:true,
                    remote:{
                        type:"get",
                        url:"validateName"
                    }
                },
                policyId:"required",
                menusId:"required"
            },
            messages:{
                name:{
                    required:"必填",
                    remote:"该名称已经被使用"
                },
                policyId:{
                    required:"必填"
                },
                menusId:{
                    required:"必填"
                }
            },
            submitHandler:function (form) {
                var filepath=$("#filepath").val();
                if  (validateString(filepath)){
                    Common.alert(error.filepath);
                    return;
                }
                var domeImage= $("#image").val();
                if (validateString(domeImage)){
                    Common.alert(error.domeImage);
                    return;
                }
                var params={};
                params.name= $('#name').val();
                params.filename= $("#filename").val();
                params.filepath= $("#filepath").val();
                params.type= $("#type").val();
                params.informationId= $("#informationId").val();
                params.image=$("#image").val();
                params= JSON.stringify(params);
                $.ajax({
                    type:"post",
                    url:"submit",
                    data:{"params":params},
                    dataType:"json",
                    headers:{"token":token},
                    success:function (data) {
                        Common.alert(data);
                        if (data.success){
                            setTimeout(function () {
                                location.href="../information/index.html";
                            },1500)
                        }
                    }
                })
            }
        })
    };

    /**
     * @name 修改文件的函数
     *
     */
    var updateHandler= function () {
        $('form').validate({
            rules:{
                name:{
                    required:true,
                    remote:{
                        url:"validateName",
                        type:"get",
                        data:{
                            name:function () {
                                return $("#name").val();
                            },
                            id:function () {
                                return $('#id').val();
                            }
                        }
                    }
                }
            },
            messages:{
                name:{
                    required:"必填",
                    remote:"该名称已经被使用"
                }
            },
            submitHandler:function (data) {
                var params={};
                params.id= $("#id").val();
                params.name= $("#name").val();
                params.filename= $("#filename").val();
                params.filepath= $("#filepath").val();
                params.image=$("#image").val();
                params.type= $("#type").val();
                params= JSON.stringify(params);
                console.log(params);
                console.log($("#filename").val());
                $.ajax({
                    type:"post",
                    url:"update",
                    data:{"params":params},
                    dataType:"json",
                    headers:{"token":token},
                    success:function (data) {
                        Common.alert(data);
                        if (data.success){
                            setTimeout(function () {
                                location.href="index.html";
                            },1500);
                            return;
                        }
                        reloadToken();
                    }
                })
            }
        })
    };

    /**
     * 校验字符串是否为空
     *
     * @param str
     * 字符串
     * @returns {boolean}
     */
    var validateString= function (str) {
        return str=="" || str==null;
    }

    return {
        init:function () {
            uploadFileHandler();

            //提交表单
            validateHandler();

            //调用共用上传图片的函数
            Common.upload(5,"image");
        },
        update:function () {
            //上传文件的接口
            uploadFileHandler();

            //修改文件的接口
            updateHandler();

            //上传图片
            Common.upload(5,"image");
        }
    }
}();